package com.zhuiyun.project.api.system.user.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
 * 系统用户模型类
 *
 * @auther zcy
 * @data 2023/03/28 18:10
 */
@ApiModel("用户模型类")
@Data
public class SysUserModel implements Serializable {

    @ApiModelProperty("主键id新增时无需填写")
    private Integer id;
    /**
     * 用户名
     */
    @NotBlank(message = "用户名不能为空")
    @ApiModelProperty("用户名")
    private String userName;
    /**
     * 登录名
     */
    @NotBlank(message = "登录名不能为空")
    @ApiModelProperty("登录名")
    private String loginName;
    /**
     * 电话
     */
    @NotBlank(message = "电话不能为空")
    @ApiModelProperty("电话")
    private String phone;
    /**
     * 邮箱
     */
    @NotBlank(message = "邮箱不能为空")
    @ApiModelProperty("邮箱")
    private String email;
    /**
     * 头像id
     */
    @ApiModelProperty("头像id")
    private String avatarId;
    /**
     * 最后登陆IP
     */
    @ApiModelProperty("最后登陆IP")
    private String lastLoginIp;
    /**
     * 最后登陆日期
     */
    @ApiModelProperty("最后登陆日期")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss" )//DateTimeFormat 是入参格式化；
    private Date lastLoginTime;

    /**
     * 用户状态 0 启用 1 禁用 2 注销
     */
    @ApiModelProperty("用户状态 0 启用 1 禁用 2 注销")
    private Integer delFlag;

}
